<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>WS-Transaction</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/WS-Transaction"> <link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-WS-Transaction rootpage-WS-Transaction skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">WS-Transaction</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p><b>WS-Transaction</b> ist ein Standard aus dem Kontext der sogenannten <a href="WS-*" title="WS-*">WS-*</a>-Spezifikationen. WS-Transaction zielt darauf ab, das vor allem aus <a href="Datenbank" title="Datenbank">Datenbanken</a> bekannte Prinzip von <a href="Transaktion_(Informatik)" title="Transaktion (Informatik)">Transaktionen</a> auch für <a href="Webservice" title="Webservice">Webservices</a> bereitzustellen. Dazu besteht der Standard aus drei Unterspezifikationen.
</p>
<div class="mw-heading mw-heading2"><h2 id="Unterspezifikationen">Unterspezifikationen</h2></div>
<div class="mw-heading mw-heading3"><h3 id="WS-Coordination">WS-Coordination</h3></div>
<p><b>WS-Coordination</b> beschreibt ein erweiterbares <a href="Framework" title="Framework">Framework</a>, das Protokolle zur Verfügung stellt, die es ermöglichen Aktionen verteilter Anwendungen miteinander zu koordinieren. Dabei beinhaltet es neben den Anforderungen an Services, die WS-Transaction nutzen sollen, auch eine genaue Struktur, die es ermöglicht, über die Grenzen von heterogenen Systemen hinweg Transaktionen umzusetzen. Die Spezifikation schreibt vor, dass es immer einen Koordinator geben muss, bei dem sich die jeweiligen Webservices registrieren.
</p><p>WS-Coordination kann auch unabhängig von WS-Transaction genutzt werden, da der Standard so flexibel ausgelegt ist, dass er Anwendungsfälle beliebiger Art im Kontext von verteilten Anwendungen abdecken kann.
</p>
<div class="mw-heading mw-heading3"><h3 id="WS-AtomicTransaction">WS-AtomicTransaction</h3></div>
<p><b>WS-AtomicTransaction</b> setzt auf <a class="mw-selflink-fragment" href="#WS-Coordination">WS-Coordination</a> auf, indem es nur noch die konkreten Protokolle spezifiziert. Dabei richtet sich WS-AtomicTransaction speziell an kurz laufende Transaktionen, für die die sogenannten <a href="ACID" title="ACID">ACID</a>-Eigenschaften wichtig sind. Konkret enthält es folgende Protokolle:
</p>
<ul><li><i>Completion</i></li>
<li><i>Volatile Two-Phase Commit</i></li>
<li><i>Durable Two-Phase Commit</i></li></ul>
<p>Eine WS-Methode kann hinsichtlich der zu unterstützenden Transaktionseigenschaften wie folgt konfiguriert werden:
</p>
<ul><li><i>Required</i>: Wenn sich der Client schon in einem gültigen Transaktionskontext befindet, so wird die Methode innerhalb dieses Transaktionskontextes ausgeführt. Ansonsten wird eine neue Transaktion gestartet</li></ul>
<ul><li><i>RequiresNew</i>: Wenn sich der Client schon in einem gültigen Transaktionskontext befindet, so wird die transaktion suspended und die Methode innerhalb einer neuen Transaktion ausgeführt. Nach Beendigung der Methode wird die neue Transaktion ebenfalls beendet und die vorherige Transaktion resumed. Ansonsten wird eine neue Transaktion gestartet.</li></ul>
<ul><li><i>Mandatory</i>: Der Client muss sich in einem gültigen Transaktionskontext befinden.</li></ul>
<ul><li><i>NotSupported</i>: Falls sich der Client innerhalb einer Transaktion befindet, wird diese suspended und nach Beendigung der Methode wieder resumed.</li></ul>
<ul><li><i>Supports</i>: Falls sich der Client innerhalb einer Transaktion befindet wird diese verwendet, ansonsten wird die Methode nicht in einer Transaktion ausgeführt.</li></ul>
<ul><li><i>Never</i>: Die Methode darf nicht innerhalb einer Transaktion aufgerufen werden.</li></ul>
<div class="mw-heading mw-heading3"><h3 id="WS-BusinessActivity">WS-BusinessActivity</h3></div>
<p><b>WS-BusinessActivity</b> richtet sich im Gegensatz zu <a class="mw-selflink-fragment" href="#WS-AtomicTransaction">WS-AtomicTransaction</a> an länger laufende Geschäftstransaktionen, beinhaltet aber ebenso nur noch die konkreten Protokolle für <a class="mw-selflink-fragment" href="#WS-Coordination">WS-Coordination</a>. Konkret enthält es folgende zwei Protokolle:
</p>
<ul><li><i>BusinessAgreementWithParticipantCompletion</i></li>
<li><i>BusinessAgreementWithCoordinatorCompletion</i></li></ul>
<p>Wichtig hierbei ist es, dass die Ressourcen nicht „gelockt“ werden können, da die „Transaktionen“ länger laufen. Aus diesem Grund gibt es für den Fehlerfall sogenannte Compensation Activities, die die bereits getätigten Änderungen wieder rückgängig machen sollen.
</p>
<div class="mw-heading mw-heading2"><h2 id="Geschichte">Geschichte</h2></div>
<p>Die Spezifikationen wurden von <a href="IBM" title="IBM">IBM</a>, <a href="BEA_Systems" title="BEA Systems">BEA Systems</a>, <a href="Microsoft" title="Microsoft">Microsoft</a>, <a href="Arjuna" class="mw-disambig" title="Arjuna">Arjuna</a>, <a href="Hitachi_(Unternehmen)" title="Hitachi (Unternehmen)">Hitachi</a> und IONA entwickelt und am 1. November 2004 vorgestellt. Nach einer Aktualisierung am 16. August 2005 wurde der Standard in der Version 1.1 auch als offizieller <a href="Organization_for_the_Advancement_of_Structured_Information_Standards" title="Organization for the Advancement of Structured Information Standards">OASIS</a>-Standard anerkannt.
</p>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://www.ibm.com/support/knowledgecenter/de/SSAW57_8.5.5/com.ibm.websphere.nd.multiplatform.doc/ae/twbs_wstx_learning.html">Übersichtsartikel (IBM)</a></li>
<li><a rel="nofollow" class="external text" href="https://javaee.github.io/metro/doc/user-guide/ch18.html">Anwendung in Java EE / Metro</a> (englisch)</li>
<li><a rel="nofollow" class="external text" href="https://docs.oasis-open.org/ws-tx/">Spezifikationen von WS-Tx, WS-C, WS-BA und WS-AT plus Errata</a></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2026-01-10" href="https://de.wikipedia.org/wiki/?title=WS-Transaction&oldid=263196504">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>